import React, { Component, createRef } from 'react';
import Child from './Child'
//  父传子
// 01:直接通过props 属性传值
// 02:通过 插槽方式 ,然后在子组件中通过this.props.children 获取父组件的数据
// 03:在父组件中定义一个方法,然后该方法返回父组件中的数据, 然后再将该方法通过props 传递给子组件
// 在子组件中调用, 这样子组件就可以获取到父组件中的数据了
// 04: 在子组件中定义一个方法,子组件中的这个方法接收一个形参, 参数为父组件调用的实参, 然后在组件中通过给子组件
// 邦迪ref 属性,获取子组件实例,进而调用该方法, 传父组件中的数据就可以啦


class Father extends Component {
    state = {
        userinfo: {
            name: '水庆霞'
        },
        teamleader: {
            username: '孙雯'
        }
    };
    ref1 = createRef();
    render() {
        return (
            <div>
                <Child ref={this.ref1} fun={this.transferChild} fun1={this.getdatafromchild}></Child>
            </div>
        );
    }
    transferChild = () => {
        return this.state.userinfo
    };
    componentDidMount() {
        // console.log(this.ref1);
        // 调用 子组件上的方法
        this.ref1.current.getdatafromfather(this.state.teamleader)
        console.log(this.ref1.current.transferdatatofather());
        console.log(this.ref1.current.state.girlHero);
    };
    getdatafromchild(params) {
        console.log('params', params);
    }

}

export default Father;
